package com.schoolCommunity.service;

import com.schoolCommunity.ov.OvSearchConfessionWall;
import com.schoolCommunity.entity.ConfessionWall;
import com.baomidou.mybatisplus.extension.service.IService;
import com.schoolCommunity.entity.Information;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author YTH
 * @since 2020-09-09
 */
public interface ConfessionWallService extends IService<ConfessionWall> {

    //添加表白墙
    public Information InsertConfessionWall(ConfessionWall ConfessionWall);

    //获取所有表白墙,包含所有属性，管理员功能
    public Information getAllConfessionWallForAdmin();

    //管理者获取所有未通过审核的表白墙,管理者功能
    public Information getNotPassConfessionWall();

    //管理者获取所有尚未审核的表白墙,管理者功能
    public Information getNotSuggestConfessionWall();

    //管理员审核表白墙
    public Information AdminSuggestConfessionWall(long ConfessionWallId, int suggestResult);

    //管理员审核完毕表白墙之后发布整理成一期发布表白墙
    public Information AdminPublishConfessionWall(int[] pushList);

    //获取所有表白墙,用户功能
    public Information getAllConfessionWall();

    //删除表白墙
    public Information deleteConfessionWall(long id);

    //获取指定期数的表白墙墙
    public Information getPeriodsConfessionWall(long periods);

    //获取指定用户的表白墙墙
    public Information getMemberConfessionWall(long memberId);

    //最大期数
    public int getMaxPeriods();

    //单一用户点赞变白墙
    public Information AddLoves(long confessionWallId, long memberId);

    //搜索表白墙
    public Information searchConfessionWall(OvSearchConfessionWall searchConfessionWall);


}
